package com.beyondsoft.sabg.edu.utils;

import cn.hutool.core.util.StrUtil;

/**
 * @Author Mo cr
 * @Date 2025/2/17
 */
public class CodeUtils {
    /**
     * 培养方式
     * 10	国家任务
     * 11	非定向
     * 12	定向
     * 20	非国家任务
     * 21	自筹经费
     * 22	委托培养
     * 23	联合培养
     * 24	协作
     * 30	留学生
     * 31	国际组织资助
     * 32	中国政府资助
     * 33	本国政府资助
     * 34	学校间交换
     * 35	自费留学
     * 41	其他
     * @param cultivationMode
     * @return
     */
    public static String convertCultivationMode(String cultivationMode) {
        if (StrUtil.isNotEmpty(cultivationMode)) {
            switch (cultivationMode.trim()) {
                case "10": return "国家任务";
                case "11": return "非定向";
                case "12": return "定向";
                case "20": return "非国家任务";
                case "21": return "自筹经费";
                case "22": return "委托培养";
                case "23": return "联合培养";
                case "24": return "协作";
                case "30": return "留学生";
                case "31": return "国际组织资助";
                case "32": return "中国政府资助";
                case "33": return "本国政府资助";
                case "34": return "学校间交换";
                case "35": return "自费留学";
                case "41": return "其他";
            }
        }
        return "";
    }

    /**
     * 学生类型
     * 1 全日制
     * 2 非全日制
     * @param studyType
     * @return
     */
    public static String convertStudyType(String studyType) {
        if (StrUtil.isNotEmpty(studyType)) {
            switch (studyType.trim()) {
                case "1": return "全日制";
                case "2": return "非全日制";
            }
        }
        return "";
    }

    /**
     * 培养层次
     * 1	博士生
     * 2	硕士生
     * 3	本科生
     * 4	专科生
     * 9	其他
     * @param code
     * @return
     */
    public static String convertEducationCode(String code){
        if (StrUtil.isNotEmpty(code)) {
            switch (code.trim()) {
                case "1": return "博士生";
                case "2": return "硕士生";
                case "3": return "本科生";
                case "4": return "专科生";
                case "9": return "其他";
            }
        }
        return "";
    }

    /**
     * 学籍状态
     * 0	正常
     * 1	复学
     * 2	停学
     * 3	休学
     * 4	转学
     * 6	毕业
     * 10	退学
     * 11	恢复学籍
     * 12	结业
     * 13	肄业
     * 7	取消学籍
     * 8	转博
     * 9	超期
     * 14	死亡
     * 15	保留学籍
     * 16	放弃入学资格
     * 17	结束学业
     * 18	转硕
     */
    public static String convertStatus(String code){
        if (StrUtil.isNotEmpty(code)) {
            switch (code.trim()) {
                case "0": return "正常";
                case "1": return "复学";
                case "2": return "停学";
                case "3": return "休学";
                case "4": return "转学";
                case "6": return "毕业";
                case "7": return "取消学籍";
                case "8": return "转博";
                case "9": return "超期";
                case "10": return "退学";
                case "11": return "恢复学籍";
                case "12": return "结业";
                case "13": return "肄业";
                case "14": return "死亡";
                case "15": return "保留学籍";
                case "16": return "放弃入学资格";
                case "17": return "结束学业";
                case "18": return "转硕";
            }
        }
        return "";
    }

    /**
     * 学生标签
     * 001 正式学籍
     * 002 弹性学制
     * 003 3+X学制
     * 005 其他
     * 006 进修代培生
     * 007 硕博连读
     * 008 留学生
     */
    public static String convertTags(String code){
        if (StrUtil.isNotEmpty(code)) {
            switch (code.trim()) {
                case "001": return "正式学籍";
                case "002": return "弹性学制";
                case "003": return "3+X学制";
                case "005": return "其他";
                case "006": return "进修代培生";
                case "007": return "硕博连读";
                case "008": return "留学生";
            }
        }
        return "";
    }
}
